//
// Created by CodeZijun on 2022/12/3.
//
#include <iostream>
#include <vector>
#include <queue>
#include "BinTree.h"
using namespace std;
#ifndef DATASTRUCTURES_FOREST_H
#define DATASTRUCTURES_FOREST_H

struct treeNode{
    vector<treeNode*> myChild;
    string data;
};

class tree{
public:
    treeNode* root;
    tree(){
        root = nullptr;
    }
    void produceTree();
    void preOrder(treeNode* p);
    void aftOrder(treeNode* p);
    binTreeNode* revBinTree(treeNode* p);
};

class Forest {
private:
    vector<tree*> frt;
public:
    void addTree(tree* t);
    tree* visitTree(int n);
    void preOrder();
    void aftOrder();
    int treeNum();
    binTreeNode* revBinTree();
};


#endif //DATASTRUCTURES_FOREST_H
